package us.kg.kotoriforest.senior.dao;

import us.kg.kotoriforest.senior.pojo.Employee;

import java.util.List;

/**
 * ClassName: us.kg.kotoriforest.senior.dao.EmployeeDAO </br>
 * Description: 操作 t_emp 表的 DAO 接口 </br>
 * 这里定义成接口类型 是为了方便切换数据库 不管后期切换成什么厂商的数据库 都可以使用该接口
 *
 * @author Kotori rotroutine@163.com
 * @since 2024/11/29
 */
public interface EmployeeDAO {
    /**
     * 查询表中的所有记录
     *
     * @return 表中的所有数据
     */
    List<Employee> selectAll();

    /**
     * 根据 emp_id 查询对应的记录
     *
     * @param empId 员工号 主键列
     * @return 由查询到的一条记录所构建的员工对象
     */
    Employee selectByEmpId(int empId);

    /**
     * 插入一条数据
     *
     * @param employee 需要插入的数据所构建的 Employee 对象
     * @return 受影响的行数
     */
    int insert(Employee employee);

    /**
     * 修改一条员工记录
     *
     * @param employee 修改后的数据所构成的 Employee 对象
     * @return 受影响的行数
     */
    int update(Employee employee);

    /**
     * 根据 emp_id 删除一条记录
     *
     * @param empId 员工id 主键列
     * @return 受影响的行数
     */
    int delete(int empId);
}
